# Replication Package: Demographics and Monetary Policy Transmission

## Overview
This folder contains all files needed to replicate the analysis in "Demographics and Monetary Policy Transmission." The paper finds a confirmed structural break in demographic effects on rates (Chow F=20.6, p<0.001): pre-GFC Z1=77.7***, post-GFC Z1=-37.4 (NS). Demographics AMPLIFY monetary transmission (local projections: Z1 x delta-rate significant at h=1-2), creating a "demographic paradox." QE dramatically attenuates the demographic channel.

## Requirements
- Python 3.10+
- pandas, numpy, scipy, statsmodels
- Data files in data/processed/

## Structure
- `scripts/` — Analysis scripts (run in phase order)
- `src/` — Shared modules (PanelGLS estimator, data loading, country classifications)
- `data/processed/` — Processed panel data (monetary_panel.csv)
- `output/tables/` — Generated output tables
- `paper/` — Paper manuscript and references

## Reproduction
Run scripts in numerical phase order:
```
python scripts/phase1_data_assembly.py
python scripts/phase2_baseline.py
python scripts/phase3_phillips_curve.py
python scripts/phase4_transmission.py
python scripts/phase5_unconventional.py
python scripts/phase6_global_factor.py
python scripts/phase7_oos_forecast.py
python scripts/phase8_predetermined.py
python scripts/phase9_robustness.py
```

## Data Sources
- UN World Population Prospects 2024
- IMF World Economic Outlook
- Penn World Table 10.01
- Chinn-Ito KAOPEN Index
- Lane & Milesi-Ferretti External Wealth of Nations
- OECD Bond Yield Data

## Notes
- All analysis uses the 140-country expanded panel (EBA-49 + SSA-20 + EU expansion + Tier 1 expansion)
- The `src/` modules are from the multilateral/followup project and contain the expanded country lists
- Bond yield data is OECD-only (23 countries)
- Output_gap coverage limited (24-27 countries); terciles use rgdp_growth fallback
- 5yr lag strengthens: Z1_lag5=50.7*** (survives post-GFC: 46.9**)
- OOS: pre-GFC model RMSE=2.76 vs naive RMSE=6.37
